As a conventional print method for a page printer such as a laser beam printer, which prints print data received from a host computer, a method of issuing a print start instruction simultaneously with reception of print data and printing print data while receiving the print data so as to reduce a required memory size is known. However, in a page printer, a time period per page from the start to the end of a print process of an engine is set to be constant. If full print data cannot be received before the print end timing, a normal print result cannot be obtained. Therefore, when an interface that connects a host computer and printer is not sufficiently fast, if print data that forms one page has a large size, full print data that forms one page cannot be received from a print start instruction until the print end timing, and a normal print result cannot be obtained.
In order to solve such problem, for example, Japanese Patent Laid-Open No. 06-320806 discloses the following technique. That is, upon reception of a “sleek transfer page” command by a printer that has received print data, a header field is processed, and a RAM area assigned as a buffer is set to serve as an I/O buffer in accordance with a threshold value in the header. When raster image data that meets the threshold value is buffered, a print engine 34 is enabled to start a print process. According to this reference, the threshold value set in the host computer is determined in accordance with the known print speed of the laser print engine and an expected transfer rate of a standard I/O.
Also, Japanese Patent Laid-Open No. 2001-142670 discloses the following technique. That is, an engine starts a print process after data of a given size is transferred to a printer on the basis of an image data size that considers the compression ratio of image data, and the transfer rate of an interface, and the engine continues the print process while receiving transferred data.
However, even with either of the above prior arts, when print data is color data (having a plurality of color planes), a normal print result cannot often be obtained depending on data. That is, in case of color print data, an engine prints respective color planes on a transfer member in a predetermined order. For this reason, even when the data size of print data is relatively not so large as a whole, if an arbitrary color plane has a large data size, print data of that color plane cannot be received within a predetermined time period upon printing that color plane, resulting in a print error (i.e., a time period from the start to the end of a print process cannot fall within a predetermined period of time).